# -*- Mode: Makefile -*-
TARGET       = core
REQUIRES     = pistachio
LIBS         = cxx ipc elf heap printf_pistachio process pager lock \
               raw_signal raw_server kip hexdump

GEN_CORE_DIR = $(BASE_DIR)/src/core

SRC_CC       = \
               main.cc \
               multiboot_info.cc \
               ram_session_component.cc \
               ram_session_support.cc \
               rom_session_component.cc \
               cpu_session_component.cc \
               cpu_session_platform.cc \
               pd_session_component.cc \
               io_mem_session_component.cc \
               io_mem_session_support.cc \
               thread.cc \
               platform_thread.cc \
               platform_pd.cc \
               platform.cc \
               dataspace_component.cc \
               rm_session_component.cc \
               io_port_session_component.cc \
               irq_session_component.cc

INC_DIR      = $(REP_DIR)/src/core/include \
               $(GEN_CORE_DIR)/include

vpath main.cc                     $(GEN_CORE_DIR)
# multiboot_info.cc is locally implemented.
# vpath multiboot_info.cc           $(GEN_CORE_DIR)
vpath ram_session_component.cc    $(GEN_CORE_DIR)
vpath rom_session_component.cc    $(GEN_CORE_DIR)
vpath cpu_session_component.cc    $(GEN_CORE_DIR)
vpath pd_session_component.cc     $(GEN_CORE_DIR)
vpath io_mem_session_component.cc $(GEN_CORE_DIR)
vpath io_mem_session_support.cc   $(GEN_CORE_DIR)
vpath %.cc                        $(REP_DIR)/src/core
